| @@ -265,6 +265,10 @@ def flyimg_upload_api(request): | ||
| 265 | 265 |  | 
| 266 | 266 |      current_id = int(request.POST.get('current_id', -1)) | 
| 267 | 267 |  | 
| 268 | +    longitude = request.POST.get('lon', '')  # 经度 | |
| 269 | +    latitude = request.POST.get('lat', '')  # 纬度 | |
| 270 | +    location = request.POST.get('loc', '')  # 位置 | |
| 271 | + | |
| 268 | 272 | # 用户校验 | 
| 269 | 273 | try: | 
| 270 | 274 | user = UserInfo.objects.get(user_id=user_id) | 
| @@ -298,6 +302,9 @@ def flyimg_upload_api(request): | ||
| 298 | 302 | 'photo_thumbnail2_path': photo_info.photo_thumbnail2_path, | 
| 299 | 303 | 'photo_thumbnail2_w': photo_info.photo_thumbnail2_w, | 
| 300 | 304 | 'photo_thumbnail2_h': photo_info.photo_thumbnail2_h, | 
| 305 | + 'latitude': latitude, | |
| 306 | + 'longitude': longitude, | |
| 307 | + 'location': location, | |
| 301 | 308 | } | 
| 302 | 309 | ) | 
| 303 | 310 |  | 
| @@ -658,6 +665,9 @@ def pai2_home_api(request): | ||
| 658 | 665 | 'thumbup': get_group_photo_thumbup_flag(row[5], user_id), | 
| 659 | 666 |          'porder': get_lensman_order_record(row[5], user_id) if row[21] == GroupPhotoInfo.SESSION_GROUP else {}, | 
| 660 | 667 | 'display_payment_btn': row[21] == GroupPhotoInfo.SESSION_GROUP and row[27] not in [GroupPhotoInfo.OUTTAKE], | 
| 668 | + 'longitude': row[28], | |
| 669 | + 'latitude': row[29], | |
| 670 | + 'location': row[30], | |
| 661 | 671 | } for row in rows] | 
| 662 | 672 |  | 
| 663 | 673 |      return response(200, 'Get Home Data Success', u'获取首页数据成功', { | 
| @@ -145,6 +145,10 @@ def lensman_photo_upload_api(request): | ||
| 145 | 145 |  | 
| 146 | 146 |      photo = request.FILES.get('photo', '') | 
| 147 | 147 |  | 
| 148 | +    longitude = request.POST.get('lon', '')  # 经度 | |
| 149 | +    latitude = request.POST.get('lat', '')  # 纬度 | |
| 150 | +    location = request.POST.get('loc', '')  # 位置 | |
| 151 | + | |
| 148 | 152 | # 用户校验 | 
| 149 | 153 | try: | 
| 150 | 154 | user = UserInfo.objects.get(user_id=user_id, islensman=True, status=True) | 
| @@ -219,6 +223,9 @@ def lensman_photo_upload_api(request): | ||
| 219 | 223 |                  'nomark': price_info.get('nomark', 999), | 
| 220 | 224 |                  'origin': price_info.get('origin', 999), | 
| 221 | 225 | 'lensman_type': lensman_type, | 
| 226 | + 'latitude': latitude, | |
| 227 | + 'longitude': longitude, | |
| 228 | + 'location': location, | |
| 222 | 229 | } | 
| 223 | 230 | ) | 
| 224 | 231 |  | 
| @@ -0,0 +1,30 @@ | ||
| 1 | +# -*- coding: utf-8 -*- | |
| 2 | +# Generated by Django 1.11.13 on 2018-07-23 08:41 | |
| 3 | +from __future__ import unicode_literals | |
| 4 | + | |
| 5 | +from django.db import migrations, models | |
| 6 | + | |
| 7 | + | |
| 8 | +class Migration(migrations.Migration): | |
| 9 | + | |
| 10 | + dependencies = [ | |
| 11 | +        ('group', '0044_auto_20180103_0446'), | |
| 12 | + ] | |
| 13 | + | |
| 14 | + operations = [ | |
| 15 | + migrations.AddField( | |
| 16 | + model_name='groupphotoinfo', | |
| 17 | + name='latitude', | |
| 18 | + field=models.FloatField(default=0.0, help_text='\u7ecf\u5ea6', verbose_name='latitude'), | |
| 19 | + ), | |
| 20 | + migrations.AddField( | |
| 21 | + model_name='groupphotoinfo', | |
| 22 | + name='location', | |
| 23 | + field=models.CharField(blank=True, help_text='\u4f4d\u7f6e', max_length=255, null=True, verbose_name='location'), | |
| 24 | + ), | |
| 25 | + migrations.AddField( | |
| 26 | + model_name='groupphotoinfo', | |
| 27 | + name='longitude', | |
| 28 | + field=models.FloatField(default=0.0, help_text='\u7ecf\u5ea6', verbose_name='longitude'), | |
| 29 | + ), | |
| 30 | + ] | 
| @@ -257,6 +257,10 @@ class GroupPhotoInfo(BaseModelMixin, LensmanTypeMixin): | ||
| 257 | 257 | nomark = models.IntegerField(_(u'nomark'), default=299, help_text=u'摄影师照片无水印价格(分)') | 
| 258 | 258 | origin = models.IntegerField(_(u'origin'), default=999, help_text=u'摄影师照片高清图价格(分)') | 
| 259 | 259 |  | 
| 260 | + longitude = models.FloatField(_(u'longitude'), default=.0, help_text=u'经度') | |
| 261 | + latitude = models.FloatField(_(u'latitude'), default=.0, help_text=u'经度') | |
| 262 | + location = models.CharField(_(u'location'), max_length=255, blank=True, null=True, help_text=u'位置') | |
| 263 | + | |
| 260 | 264 | class Meta: | 
| 261 | 265 | verbose_name = _(u'groupphotoinfo') | 
| 262 | 266 | verbose_name_plural = _(u'groupphotoinfo') | 
| @@ -328,6 +332,9 @@ class GroupPhotoInfo(BaseModelMixin, LensmanTypeMixin): | ||
| 328 | 332 | 'created_at': created_at, | 
| 329 | 333 | 'origin_expired_stamps': origin_expired_stamps(created_at, self.user_id), | 
| 330 | 334 | 'display_payment_btn': self.photo_from == self.SESSION_GROUP and self.lensman_type not in [self.OUTTAKE], | 
| 335 | + 'longitude': self.longitude, | |
| 336 | + 'latitude': self.latitude, | |
| 337 | + 'location': self.location, | |
| 331 | 338 | } | 
| 332 | 339 |  | 
| 333 | 340 |  | 
| @@ -4,7 +4,7 @@ Pillow==5.0.0 | ||
| 4 | 4 | StatusCode==1.0.0 | 
| 5 | 5 | TimeConvert==1.4.3 | 
| 6 | 6 | cryptography==1.5.2 | 
| 7 | -furl==1.1 | |
| 7 | +furl==1.2 | |
| 8 | 8 | isoweek==1.3.3 | 
| 9 | 9 | jsonfield==2.0.2 | 
| 10 | 10 | mock==2.0.0 | 
| @@ -1,5 +1,5 @@ | ||
| 1 | 1 | Django==1.11.13 | 
| 2 | -django-admin==1.2.7 | |
| 2 | +django-admin==1.3.0 | |
| 3 | 3 | django-curtail-uuid==1.0.4 | 
| 4 | 4 | django-detect==1.0.5 | 
| 5 | 5 | django-file==1.0.2 | 
| @@ -1,3 +1,3 @@ | ||
| 1 | 1 | hiredis==0.2.0 | 
| 2 | 2 | redis==2.10.6 | 
| 3 | -redis-extensions==1.2.1 | |
| 3 | +redis-extensions==1.2.2 | 
| @@ -5,7 +5,7 @@ PAI2_HOME_API = ( | ||
| 5 | 5 | r"T1.group_id, T2.group_name, T2.group_default_avatar, T2.group_avatar, T2.group_from, T3.photo_id, " | 
| 6 | 6 | r"T3.photo_path, T3.has_watermark, T3.photo_w, T3.photo_h, T3.photo_thumbnail_path, T3.photo_thumbnail_w, T3.photo_thumbnail_h, " | 
| 7 | 7 | r"T3.photo_thumbnail2_path, T3.photo_thumbnail2_w, T3.photo_thumbnail2_h, T3.user_id, T3.nickname, T3.avatar, " | 
| 8 | - r"T3.comment_num, T3.thumbup_num, T3.photo_from, T3.session_id, T3.nomark, T3.origin, T3.created_at, T3.lensman_photo_id, T3.lensman_type " | |
| 8 | + r"T3.comment_num, T3.thumbup_num, T3.photo_from, T3.session_id, T3.nomark, T3.origin, T3.created_at, T3.lensman_photo_id, T3.lensman_type, T3.longitude, T3.latitude, T3.location " | |
| 9 | 9 |      r"from (select * from group_groupuserinfo where user_id='{user_id}' and user_status=1 and status=1) as T1 " | 
| 10 | 10 | r"left outer join group_groupinfo as T2 on T1.group_id = T2.group_id " | 
| 11 | 11 | r"left outer join group_groupphotoinfo as T3 on T1.group_id = T3.group_id and T3.id > T1.current_id " | 
| @@ -19,7 +19,7 @@ PAI2_HOME_WX_API = ( | ||
| 19 | 19 | r"T1.group_id, T2.group_name, T2.group_default_avatar, T2.group_avatar, T2.group_from, T3.photo_id, " | 
| 20 | 20 | r"T3.photo_path, T3.has_watermark, T3.photo_w, T3.photo_h, T3.photo_thumbnail_path, T3.photo_thumbnail_w, T3.photo_thumbnail_h, " | 
| 21 | 21 | r"T3.photo_thumbnail2_path, T3.photo_thumbnail2_w, T3.photo_thumbnail2_h, T3.user_id, T3.nickname, T3.avatar, " | 
| 22 | - r"T3.comment_num, T3.thumbup_num, T3.photo_from, T3.session_id, T3.nomark, T3.origin, T3.created_at, T3.lensman_photo_id, T3.lensman_type " | |
| 22 | + r"T3.comment_num, T3.thumbup_num, T3.photo_from, T3.session_id, T3.nomark, T3.origin, T3.created_at, T3.lensman_photo_id, T3.lensman_type, T3.longitude, T3.latitude, T3.location " | |
| 23 | 23 |      r"from (select * from group_groupuserinfo where user_id='{user_id}' and user_status=1 and status=1) as T1 " | 
| 24 | 24 | r"left outer join group_groupinfo as T2 on T1.group_id = T2.group_id " | 
| 25 | 25 | r"left outer join group_groupphotoinfo as T3 on T1.group_id = T3.group_id and T3.id > T1.current_id " |